//
//  DJIDroneManager.h
//  DJILogin
//
//  Created by wenpd on 2021/4/2.
//

#import <Foundation/Foundation.h>
#import <DJISDK/DJISDK.h>
#import "ReactiveObjC.h"

NS_ASSUME_NONNULL_BEGIN

@interface DJIDroneManager : NSObject

#pragma mark 无人机相关
//无人机是否已连接
@property (nonatomic, assign) BOOL isDroneConnect;
//无人机是否M300RTK
@property (nonatomic, assign) BOOL isM300RTK;
//无人机对象
@property (nonatomic, strong) DJIAircraft *aircraft;
//相机模式 默认拍照模式
@property (nonatomic, assign) DJICameraMode cameraMode;
//RTK是否打开
@property (nonatomic, assign) BOOL isRTKEnabled;


#pragma mark 无人机状态相关
//无人机状态
@property (nonatomic, strong) RACSubject *aircraftSingal;
//飞控状态
@property (nonatomic, strong) RACSubject *fcStateSingal;
//IMU状态
@property (nonatomic, strong) RACSubject *imuStateSingal;
//板子状态
@property (nonatomic, strong) RACSubject *onBoardSingal;
//rtk状态
@property (nonatomic, strong) RACSubject *rtkStateSingal;
@property (nonatomic, strong) RACSubject *rtkStationSingal;
//相机状态
@property (nonatomic, strong) RACSubject *cameraStateSingal;
//存储空间
@property (nonatomic, strong) RACSubject *sdcardStateSingal;
//获取新照片
@property (nonatomic, strong) RACSubject *mediaSingal;
//云台状态
@property (nonatomic, strong) RACSubject *gimbalStateSingal;
//电池状态
@property (nonatomic, strong) RACSubject *batteryStateSingal;

+ (instancetype)shareMagager;

@end

NS_ASSUME_NONNULL_END
